import requestConfig from '../request/request.config.ts'

/**
 * 新版
 */
let visit = function (id) {
    var url = `${requestConfig.fileAddress}/visit/${id}`;
    return url;
}


/**
 * 根据id访问文件，为了更好的扩展，这里不直接返回url，而是返回一个函数
 * @param {Object} id
 * @return 返回一个函数，调用该函数返回查看文件的url
 */
let byId = function (uuid) {
    var url = `${requestConfig.rootAddress}/system/file/visit/${uuid}`;
    return url;
}

/**
 * 根据文件路径访问文件
 * @param {Object} path 文件路径
 * @return 返回一个函数，调用该函数返回查看文件的url
 */
let byPath = function (path) {
    let url = `https://file.kantboot.com/${path}`;
    return url;
}

/**
 * 根据父级编码和编码访问文件
 */
let byParentCodeAndCode = function (parentCode, code) {
    return null
}


/**
 * 根据分组编码和id访问文件
 */
let byGroupCodeAndId = function (groupCode, id) {
    var url = `${requestConfig.rootAddress}/system/file/visitFile/${groupCode}/${id}`;
    return url;
}

/**
 * 选择图片
 */
let chooseImageOne = function () {
    // 创建一个type为file的input标签
    var input = document.createElement('input');
    input.type = 'file';
    input.accept = 'image/*';
    input.multiple = true;
    input.style.display = 'none';
    input.click();

    return new Promise((resolve, reject) => {
        input.onchange = (e)=> {
            let files = e.target.files;
            if (files && files.length > 0) {
                let file = files[0];
                input.remove();
                resolve({
                    file: file,
                    url: URL.createObjectURL(file)
                });
            }
        };
        // 取消选择
        input.oncancel = (e)=> {
            input.remove();
            reject(e);
        };
    });


}



export default {
    visit,
    byId,
    byPath,
    byParentCodeAndCode,
    byGroupCodeAndId,
    chooseImageOne
}
